<?php

require_once 'Endereco.php';
require_once 'Bairro.php';
require_once 'Cidade.php';
require_once 'DAO/DaoEventos.php';
require_once 'DAO/DaoImagemEmpresa.php';
require_once 'DAO/DaoEstatisticaEmpresa.php';
require_once 'DAO/DaoCategorias.php';
require_once 'DAO/DaoCardapio.php';
require_once 'DAO/DaoConta.php';

class Empresa {

    private $codigo;
    private $nome;
    private $cnpj;
    private $endereco;
    private $numero;
    private $bairro;
    private $cidade;
    private $dataRegistro;
    private $email;
    private $senha;

    public function getEventos() {
        $DaoEventos = new DaoEventos();
        if ($this->codigo != 0) {
            return $DaoEventos->getEventoByEmpresa($this->codigo);
        }
        return NULL;
    }

    public function getImagemPrincipal() {
        $DaoImagemEmpresa = new DaoImagemEmpresa();
        if ($this->codigo != 0) {
            $image = $DaoImagemEmpresa->getImagemPrincipal($this->codigo);
        }
        if ($image == NULL) {
            $image = new Imagem();
            $image->setImagem('empresas/icon-Empresa.png');
        }
        return $image;
    }

    public function getEstatisticasEmpresa() {
        $DaoEstatisticaEmpresa = new DaoEstatisticaEmpresa();
        return $DaoEstatisticaEmpresa->getEstatisticasEmpresa($this);
    }

    public function getCategoriasDaEmpresa() {
        $DaoCategorias = new DaoCategorias();
        return $DaoCategorias->getCategoriasDaEmpresa($this->getCodigo());
    }

    public function getCardapioDaEmpresa() {
        $DaoCardapio = new DaoCardapio();
        return $DaoCardapio->getCardapioByEmpresa($this);
    }
    /*
     * 
     * return: true -> Se for Universitario (Centro Academico ou DCE), 
     *         class Conta -> Se a conta da Empresa realmente está ativa
     *         false/null -> se a conta estiver vencida
     * */
    public function getValidadeDaConta() {
        $DaoConta = new DaoConta();
        $categorias = $this->getCategoriasDaEmpresa();
        foreach ($categorias as $categoria) {
            if ($categoria->getCategoria()->getArea()->getCodigo() == 4) {
                return true;
            }
        }
        return $DaoConta->getContaByEmpresa($this);
    }

    public function getCodigo() {
        return $this->codigo;
    }

    public function setCodigo($codigo) {
        $this->codigo = $codigo;
    }

    public function getNome() {
        return $this->nome;
    }

    public function setNome($nome) {
        $this->nome = $nome;
    }

    public function getCnpj() {
        return $this->cnpj;
    }

    public function setCnpj($cnpj) {
        $this->cnpj = $cnpj;
    }

    public function getEndereco() {
        return $this->endereco;
    }

    public function setEndereco($endereco) {
        $this->endereco = $endereco;
    }

    public function getNumero() {
        return $this->numero;
    }

    public function setNumero($numero) {
        $this->numero = $numero;
    }

    public function getBairro() {
        return $this->bairro;
    }

    public function setBairro($bairro) {
        $this->bairro = $bairro;
    }

    public function getCidade() {
        return $this->cidade;
    }

    public function setCidade($cidade) {
        $this->cidade = $cidade;
    }

    public function getDataRegistro() {
        return $this->dataRegistro;
    }

    public function setDataRegistro($dataRegistro) {
        $this->dataRegistro = $dataRegistro;
    }

    public function getEmail() {
        return $this->email;
    }

    public function setEmail($email) {
        $this->email = $email;
    }

    public function getSenha() {
        return $this->senha;
    }

    public function setSenha($senha) {
        $this->senha = $senha;
    }

}

?>
